package top.lixunda.ecommerce.server.user.api.entity.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import top.lixunda.common.validate.annotation.XumIncludes;
import top.lixunda.common.validate.annotation.XumNotNull;
import top.lixunda.ecommerce.server.business.api.entity.BusinessConstants;

import java.util.List;

/**
 * 菜单分配操作DTO
 *
 * @author lixunda
 * @version time:2020/4/24 20:29
 */
@ApiModel("菜单分配操作DTO")
@Data
public class SystemMenuAllotDTO {

    /**
     * 分配对象，用户，角色
     */
    @ApiModelProperty("分配对象，用户，角色")
    @XumNotNull
    @XumIncludes(value = {BusinessConstants.PERMISSION_ALLOT_PART_USER,
            BusinessConstants.PERMISSION_ALLOT_PART_ROLE}, message = "不支持的分配对象类型")
    private String allotPart;

    /**
     * 账户编号或角色编号
     */
    @ApiModelProperty("账户编号或角色编号")
    @XumNotNull(message = "账户编号或角色编号不能为空")
    private Integer partId;

    /**
     * 菜单列表
     */
    @ApiModelProperty("菜单列表")
    @XumNotNull(message = "菜单列表不能为空")
    private List<Integer> menuIds;

}
